package com.vcit.system.mapper.grade;

import com.vcit.system.domain.grade.TStudentGrade;
import com.vcit.system.domain.vo.StudentGradeVo;

import java.util.List;

/**
 * 学生课程成绩Mapper接口
 * 
 * @author dff
 * @date 2025-02-11
 */
public interface TStudentGradeMapper 
{
    /**
     * 查询学生课程成绩
     * 
     * @param id 学生课程成绩主键
     * @return 学生课程成绩
     */
    public TStudentGrade selectTStudentGradeById(Long id);
    public StudentGradeVo selectStudentGradeInfoById(Long id);


    /**
     * 查询学生课程成绩列表
     * 
     * @param tStudentGrade 学生课程成绩
     * @return 学生课程成绩集合
     */
    public List<TStudentGrade> selectTStudentGradeList(TStudentGrade tStudentGrade);

    public List<StudentGradeVo> selectTStudentGradeAllInfo(StudentGradeVo studentGradeVo);

    /**
     * 新增学生课程成绩
     * 
     * @param tStudentGrade 学生课程成绩
     * @return 结果
     */
    public int insertTStudentGrade(TStudentGrade tStudentGrade);

    /**
     * 修改学生课程成绩
     * 
     * @param tStudentGrade 学生课程成绩
     * @return 结果
     */
    public int updateTStudentGrade(TStudentGrade tStudentGrade);

    /**
     * 删除学生课程成绩
     * 
     * @param id 学生课程成绩主键
     * @return 结果
     */
    public int deleteTStudentGradeById(Long id);

    /**
     * 批量删除学生课程成绩
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTStudentGradeByIds(Long[] ids);

    /**
     * 批量插入学生课程成绩
     * @param list 学生成绩列表
     * @return 插入条数
     */
    int batchInsert(List<TStudentGrade> list);
}
